// easy

// 给定一个全部由小写字母组成的字符串S，重复的删除相邻且相同的字母，直到相邻字母不再有相同的

// 思路： 遍历字符串，如果当前字符与栈顶字符相同，则将栈顶所有相同字符删除，否则就将当前字符入栈

function removeDuplicates(S) {
    let stack = []
    for (let i = 0; i < S.length; i++) {
        if (stack.length && stack[stack.length - 1] === S[i]) {
            stack.pop()
        } else {
            stack.push(S[i])
        }        
    }
    return stack.join('')
} 
let S = "abbaca"
console.log(removeDuplicates(S))